System for and method of determining an income of a user of a mobile device

ABSTRACT

A method of determining an income of a user of a mobile device, the method comprising: acquiring device data associated with the user of the mobile device; associating the user with a first occupational class, the first occupational class being associated with at least one event type and a first MLA; extracting a first dataset from the device data based on the first occupational class; applying a first logical analysis of the first MLA to the first dataset, the applying comprises: extracting from the first dataset a first data pattern being indicative of a first occupational event performed by the user, the first data pattern being associated with one of the at least one event types; and determining a first income value associated with the first occupational event based on the first data pattern, the first income value being representative of an income of the user of the mobile device.

CROSS-REFERENCE

The present application claims priority to Russian Patent ApplicationNo. 2017111482, entitled “System For And Method Of Determining An IncomeOf A User Of A Mobile Device,” filed on Apr. 5, 2017, the entirety ofwhich is incorporated herein by reference.

TECHNICAL FIELD

The present technology relates to user ranking in general andspecifically to a method and apparatus for determining the income of auser of a mobile device.

BACKGROUND

Mobile devices have evolved beyond simple telephone functionality andare now more complex multi-functional devices. In addition to voicecommunications, many mobile devices are capable of text messaging, emailcommunications, Internet access, geographical localization, and theability to run application software. For example, mobile devices can usethese capabilities to perform online transactions and searches forrelevant content. Furthermore, mobile devices may also be used by anindividual in order to store and manage their job related informationsuch as emails, work schedules, job related tasks, etc. The mobiledevice may also run a plethora of applications that render themanagement of such job related information a convivial and user-friendlyexercise that results in productivity boost of the individual.

Applications that run on the mobile device may, for example, bedownloaded and installed from an application marketplace. For instance,an application marketplace may be the Google Play™ service or AppStore™provided by Apple Corporation. Some of these applications may also beprovided by the employer directly and where the applications have beendeveloped internally by the employer. This facilitates data gatheringand management of job related information. However, a large number ofusers are not subscribed to such management services or are not providedwith such applications by their employer and, as such, gathering andmanagement of job related information associated with these usersbecomes a very difficult task to achieve.

Furthermore, user classification based on job related information isbecoming a popular task in the industry for several reasons such as:updating user profiles, determining and providing user-specific content,tracking hours worked, ensuring workers get enough rest between shifts,etc. A common approach to user classification based on job relatedinformation is to assign each user to a specific group of users whichshare at least some common job related information. For example, theusers may be classified by associating each user to a respectivemonetary income interval. However, differentiating users amongst eachother based on job related information, especially when the users areassigned to an identical interval, is a much more complex task. In otherwords, user ranking based on job related information may be harder toachieve that a simple classification of users into specific user groups.

SUMMARY

Developers of the present technology have appreciated certain technicaldrawbacks associated with user classification based on job relatedinformation. Embodiments of the present technology aim at leveraging theimmense amount of GPS and sensor data in order to recognize implicitdata patterns therein, which implicit data patterns are associated withwork related activities of the user. Without being bound to any specifictheory, embodiments of the present technology enable an assignment ofpersonalized attributes to users based on implicit data patterns thatare extracted from mobile device data. The personalized attributes allowa highly granular ranking of the users based on their job relatedinformation.

In some implementations of the present technology, there is provided amethod of determining an income of a user of a mobile device. The methodis executable at a server and the mobile device is communicativelycoupled to the server. The method comprises acquiring, by the server,device data associated with the user of the mobile device. The devicedata comprises information indicative of at least one occupation of theuser. The method comprises associating, by the server, the user with afirst occupational class amongst a plurality of occupational classesbased on the information indicative of the at least one occupation ofthe user. The first occupational class is associated with at least oneevent type and a first MLA. The method comprises extracting, by theserver, a first dataset from the device data based on the firstoccupational class, the first dataset which comprises data of a firstplurality of data types. The method comprises applying, by the server, afirst logical analysis of the first MLA to the first dataset. The firstMLA has been trained to apply the first logical analysis to data of thefirst plurality of data types. The applying the first logical analysiscomprises extracting, by the first MLA, from the first dataset a firstdata pattern which is indicative of a first occupational event performedby the user. The first data pattern is associated with one of the atleast one event types. The applying the first logical analysis comprisesdetermining, by the first MLA, a first income value associated with thefirst occupational event based on the first data pattern. The firstincome value is representative of an income of the user of the mobiledevice.

In some embodiments of the method, the first plurality of data typescomprises GPS data and temporal data.

In some embodiments of the method, the applying the first logicalanalysis further comprises extracting, by the first MLA, from the firstdataset a second data pattern which is indicative of a secondoccupational event performed by the user. The second data pattern isassociated with one of the at least one event types. The applying thefirst logical analysis further comprises determining, by the first MLA,a second income value associated with the second occupational eventbased on the second data pattern. The method further comprisesdetermining, by the server, a total income value based on the firstincome value and the second income value. The total income value isrepresentative of the income of the user of the mobile device.

In some embodiments of the method, the at least one event typescomprises more than one event types. The first data pattern and thesecond data pattern are respectively associated with distinct eventtypes amongst the more than one event types.

In some embodiments of the method, the associating comprisesassociating, by the server, the user with a second occupational classamongst the plurality of occupational classes based on the informationindicative of the at least one occupation of the user. The secondoccupational class is associated with at least one other event type anda second MLA. The method further comprises extracting, by the server, asecond dataset from the device data based on the second occupationalclass where the second dataset comprises data of a second plurality ofdata types. The method further comprises applying, by the server, asecond logical analysis of the second MLA to the second dataset. Thesecond MLA has been trained to apply the second logical analysis to dataof the second plurality of data types. The applying the second logicalanalysis comprises extracting, by the second MLA, from the seconddataset a second data pattern which is indicative of a secondoccupational event performed by the user. The second data pattern isassociated with one of the at least one other event types. The applyingthe second logical analysis comprises determining, by the second MLA, asecond income value associated with the second occupational event basedon the second data pattern. The method further comprises determining, bythe server, a total income value based on the first income value and thesecond income value. The total income value is representative of theincome of the user of the mobile device.

In some embodiments of the method, the second plurality of data typescomprises sound data and temporal data.

In some embodiments of the method, the at least one event type and theat least one other event type are distinct event types.

In some embodiments of the method, the first occupational class is oneof:

-   -   a taxi driver class;    -   a delivery driver class;    -   a painter class;    -   a construction worker class; and    -   a waiter class.

In some embodiments of the method, the method further comprisesacquiring, by the server, a second device data associated with a seconduser of a second mobile device which is communicatively coupled to theserver. The second device data comprises information which is indicativeof at least one occupation of the second user. The method furthercomprises associating, by the server, the second user with a secondoccupational class amongst the plurality of occupational classes basedon the information which is indicative of the at least one occupation ofthe second user. The second occupational class is associated with atleast one other event type and a second MLA. The method furthercomprises extracting, by the server, a second dataset from the seconddevice data based on the second occupational class. The second datasetcomprises data of a second plurality of data types. The method furthercomprises applying, by the server, a second logical analysis of thesecond MLA to the first dataset. The second MLA has been trained toapply the second logical analysis to data of the second plurality ofdata types. The applying the second logical analysis comprisesextracting, by the second MLA, from the second dataset a second datapattern which is indicative of a second occupational event performed bythe second user. The second data pattern is associated with one of theat least one other event types. The applying the second logical analysiscomprises determining, by the second MLA, a second income valueassociated with the second occupational event based on the second datapattern. The second income value is representative of an income of thesecond user of the second mobile device. The method further comprisesranking, by the server, the user and the second user relative to eachother based on the first outcome value and the second outcome value.

In some embodiments of the method, the first occupational class and thesecond occupational class are a same occupational class.

In some implementations of the present technology, there is provided aserver for determining an income of a user of a mobile device. Themobile device is communicatively coupled to the server and the server isconfigured to acquire device data associated with the user of the mobiledevice. The device data comprises information which is indicative of atleast one occupation of the user. The server is configured to associatethe user with a first occupational class amongst a plurality ofoccupational classes based on the information which is indicative of theat least one occupation of the user. The first occupational class isassociated with at least one event type and a first MLA. The server isconfigured to extract a first dataset from the device data based on thefirst occupational class. The first dataset comprises data of a firstplurality of data types. The server is configured to apply a firstlogical analysis of the first MLA to the first dataset. The first MLAhas been trained to apply the first logical analysis to data of thefirst plurality of data types. In order to apply the first logicalanalysis the server is configured to extract, by the first MLA, from thefirst dataset a first data pattern which is indicative of a firstoccupational event performed by the user. The first data pattern isassociated with one of the at least one event types. In order to applythe first logical analysis the server is configured to determine, by thefirst MLA, a first income value associated with the first occupationalevent based on the first data pattern. The first income value isrepresentative of an income of the user of the mobile device.

In some embodiments of the server, the first plurality of data typescomprises GPS data and temporal data.

In some embodiments of the server, in order to apply the first logicalanalysis, the server is further configured to extract, by the first MLA,from the first dataset a second data pattern which is indicative of asecond occupational event performed by the user. The second data patternis associated with one of the at least one event types. In order toapply the first logical analysis, the server is further configured todetermine, by the first MLA, a second income value associated with thesecond occupational event based on the second data pattern. The serveris further configured to determine a total income value based on thefirst income value and the second income value. The total income valueis representative of the income of the user of the mobile device.

In some embodiments of the server, the at least one event typescomprises more than one event types. The first data pattern and thesecond data pattern are respectively associated with distinct eventtypes amongst the more than one event types.

In some embodiments of the server, the server is configured to associatefurther comprises the server configured to associate the user with asecond occupational class amongst the plurality of occupational classesbased on the information which is indicative of the at least oneoccupation of the user. The second occupational class is associated withat least one other event type and a second MLA. The server is furtherconfigured to extract a second dataset from the device data based on thesecond occupational class. The second dataset comprises data of a secondplurality of data types. The server is further configured to apply asecond logical analysis of the second MLA to the second dataset. Thesecond MLA has been trained to apply the second logical analysis to dataof the second plurality of data types. In order to apply the secondlogical analysis, the server is configured to extract, by the secondMLA, from the second dataset a second data pattern which is indicativeof a second occupational event performed by the user. The second datapattern is associated with one of the at least one other event types. Inorder to apply the second logical analysis, the server is configured todetermine, by the second MLA, a second income value associated with thesecond occupational event based on the second data pattern. The serveris further configured to determine a total income value based on thefirst income value and the second income value. The total income valueis representative of the income of the user of the mobile device.

In some embodiments of the server, the second plurality of data typescomprises sound data and temporal data.

In some embodiments of the server, the at least one event type and theat least one other event type are distinct event types.

In some embodiments of the server, the first occupational class is oneof:

-   -   a taxi driver class;    -   a delivery driver class;    -   a painter class;    -   a construction worker class; and    -   a waiter class.

In some embodiments of the server, the server is further configured toacquire a second device data associated with a second user of a secondmobile device which is communicatively coupled to the server. The seconddevice data comprises information which is indicative of at least oneoccupation of the second user. The server is further configured toassociate the second user with a second occupational class amongst theplurality of occupational classes based on the information which isindicative of the at least one occupation of the second user. The secondoccupational class is associated with at least one other event type anda second MLA. The server is further configured to extract a seconddataset from the second device data based on the second occupationalclass. The second dataset comprises data of a second plurality of datatypes. The server is further configured to apply a second logicalanalysis of the second MLA to the first dataset. The second MLA has beentrained to apply the second logical analysis to data of the secondplurality of data types. In order to apply the second logical analysis,the server is configured to extract, by the second MLA, from the seconddataset a second data pattern which is indicative of a secondoccupational event performed by the second user. The second data patternis associated with one of the at least one other event types. In orderto apply the second logical analysis, the server is configured todetermine, by the second MLA, a second income value associated with thesecond occupational event based on the second data pattern. The secondincome value is representative of an income of the second user of thesecond mobile device. The server is further configured to rank the userand the second user relative to each other based on the first outcomevalue and the second outcome value.

In some embodiments of the server, the first occupational class and thesecond occupational class are a same occupational class.

In the context of the present specification, a “server” is a computerprogram that is running on appropriate hardware and is capable ofreceiving requests (e.g., from client devices) over a network, andcarrying out those requests, or causing those requests to be carriedout. The hardware may be one physical computer or one physical computersystem, but neither is required to be the case with respect to thepresent technology. In the present context, the use of the expression a“server” is not intended to mean that every task (e.g., receivedinstructions or requests) or any particular task will have beenreceived, carried out, or caused to be carried out, by the same server(i.e., the same software and/or hardware); it is intended to mean thatany number of software elements or hardware devices may be involved inreceiving/sending, carrying out or causing to be carried out any task orrequest, or the consequences of any task or request; and all of thissoftware and hardware may be one server or multiple servers, both ofwhich are included within the expression “at least one server”.

In the context of the present specification, “client device” is anycomputer hardware that is capable of running software appropriate to therelevant task at hand. Thus, some (non-limiting) examples of clientdevices include personal computers (desktops, laptops, netbooks, etc.),smartphones, and tablets, as well as network equipment such as routers,switches, and gateways. It should be noted that a device acting as aclient device in the present context is not precluded from acting as aserver to other client devices. The use of the expression “a clientdevice” does not preclude multiple client devices being used inreceiving/sending, carrying out or causing to be carried out any task orrequest, or the consequences of any task or request, or steps of anymethod described herein.

In the context of the present specification, a “database” is anystructured collection of data, irrespective of its particular structure,the database management software, or the computer hardware on which thedata is stored, implemented or otherwise rendered available for use. Adatabase may reside on the same hardware as the process that stores ormakes use of the information stored in the database or it may reside onseparate hardware, such as a dedicated server or plurality of servers.

In the context of the present specification, the expression“information” includes information of any nature or kind whatsoevercapable of being stored in a database. Thus information includes, but isnot limited to audiovisual works (images, movies, sound records,presentations etc.), data (location data, numerical data, etc.), text(opinions, comments, questions, messages, etc.), documents,spreadsheets, lists of words, etc.

In the context of the present specification, the expression “component”is meant to include software (appropriate to a particular hardwarecontext) that is both necessary and sufficient to achieve the specificfunction(s) being referenced.

In the context of the present specification, the expression “computerusable information storage medium” is intended to include media of anynature and kind whatsoever, including RAM, ROM, disks (CD-ROMs, DVDs,floppy disks, hard drivers, etc.), USB keys, solid state-drives, tapedrives, etc.

In the context of the present specification, the words “first”,“second”, “third”, etc. have been used as adjectives only for thepurpose of allowing for distinction between the nouns that they modifyfrom one another, and not for the purpose of describing any particularrelationship between those nouns. Thus, for example, it should beunderstood that, the use of the terms “first server” and “third server”is not intended to imply any particular order, type, chronology,hierarchy or ranking (for example) of/between the server, nor is theiruse (by itself) intended imply that any “second server” must necessarilyexist in any given situation. Further, as is discussed herein in othercontexts, reference to a “first” element and a “second” element does notpreclude the two elements from being the same actual real-world element.Thus, for example, in some instances, a “first” server and a “second”server may be the same software and/or hardware, in other cases they maybe different software and/or hardware.

Implementations of the present technology each have at least one of theabove-mentioned object and/or aspects, but do not necessarily have allof them. It should be understood that some aspects of the presenttechnology that have resulted from attempting to attain theabove-mentioned object may not satisfy this object and/or may satisfyother objects not specifically recited herein.

Additional and/or alternative features, aspects and advantages ofimplementations of the present technology will become apparent from thefollowing description, the accompanying drawings and the appendedclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the present technology, as well as otheraspects and further features thereof, reference is made to the followingdescription which is to be used in conjunction with the accompanyingdrawings, where:

FIG. 1 is a schematic diagram of a system for determining an income of auser of a mobile device as contemplated in some embodiments of thepresent technology;

FIG. 2 depicts the content of the device data of the mobile devicedepicted in FIG. 1;

FIG. 3 depicts a occupational data table and a plurality of machinelearning algorithms that are stored in the server storage depicted inFIG. 1;

FIG. 4 depicts subscribers to one or more web services hosted by theexternal services depicted in FIG. 1 as contemplated in some embodimentsof the present technology;

FIG. 5 is a visual representation of the GPS data in time associatedwith the first subscriber device depicted in FIG. 4;

FIG. 6 is a visual representation of the sound data in time associatedwith the second subscriber device depicted in FIG. 4; and

FIG. 7 is a schematic representation of a method of determining anincome of a user of a mobile device which is performed by the serverdepicted in FIG. 1 as envisioned in some implementations of the presenttechnology.

DETAILED DESCRIPTION

Referring to FIG. 1, there is shown a schematic diagram of a system 100,the system 100 being suitable for implementing non-limiting embodimentsof the present technology. It is to be expressly understood that thesystem 100 as depicted is merely an illustrative implementation of thepresent technology. Thus, the description thereof that follows isintended to be only a description of illustrative examples of thepresent technology. This description is not intended to define the scopeor set forth the bounds of the present technology. In some cases, whatare believed to be helpful examples of modifications to the system 100may also be set forth below. This is done merely as an aid tounderstanding, and, again, not to define the scope or set forth thebounds of the present technology. These modifications are not anexhaustive list, and, as a person skilled in the art would understand,other modifications are likely possible. Further, where this has notbeen done (i.e., where no examples of modifications have been setforth), it should not be interpreted that no modifications are possibleand/or that what is described is the sole manner of implementing thatelement of the present technology. As a person skilled in the art wouldunderstand, this is likely not the case. In addition it is to beunderstood that the system 100 may provide in certain instances simpleimplementations of the present technology, and that where such is thecase they have been presented in this manner as an aid to understanding.As persons skilled in the art would understand, various implementationsof the present technology may be of a greater complexity.

Description of Mobile Device

Generally speaking, the system 100 is configured to determine an incomeof a user 102 of the system 100. More specifically, a server 112 may beconfigured to determine the income of the user 102 who is associatedwith a mobile device 104.

As such, the mobile device 104 can sometimes be referred to as a “clientdevice”, “end user device”, “electronic device” or “client electronicdevice”. The implementation of the mobile device 104 is not particularlylimited, but as an example, the mobile device 104 may be implemented asa wireless communication device (such as a smartphone, a cell phone, atablet and the like). The mobile device 104 comprises hardware and/orsoftware and/or firmware (or a combination thereof), as is known in theart, to execute a plurality of applications 150.

Additionally, the mobile device 104 comprises a GPS module 170. The GPSmodule 170 is configured to receive GPS signals that are transmittedthereto by a GPS satellite 172. Therefore, the mobile device 104 may beconfigured to record geographical positions of the GPS module 170. Agiven geographical position may be representative of a given longitude,a given latitude and a given altitude of the GPS module 170. In someembodiments, the given geographical position may also be associated witha given timestamp being representative of a time when the givengeographical position has been recorded by the mobile device 104 (i.e.,or by the GPS module 170).

The mobile device 104 comprises sensor devices 180 which include one ormore sensor devices to provide additional input and facilitate multiplefunctionalities of the mobile device 104. Some examples ofimplementations of the sensor devices 180 can include one or more of:

-   -   a microphone,    -   an accelerometer,    -   an ambient temperature measurement device,    -   a device for measuring the force of gravity,    -   a gyroscope,    -   a device for measuring ambient light,    -   a device for measuring acceleration force,    -   a device for measuring ambient geomagnetic field,    -   a device for measuring a degree of rotation,    -   a device for measuring ambient air pressure,    -   a device for measuring relative ambient humidity,    -   a device for measuring device orientation,    -   a device for measuring temperature of the device,    -   etc.

It is noted that some of these sensor devices 180 can be implemented inhardware, software or a combination of the two.

The mobile device 104 may comprise a device storage (not depicted) forstoring device data 160. The device data 160 and various data typescomprised therein will further be explained below with reference to FIG.2. In FIG. 2, there is depicted the device data 160 which comprises:application data 202, user specific data 204, GPS data 206, sensor data208, temporal data 210 and other data 212. The application data 202 isdata provided by the plurality of applications 150 with respect to userinteractions of the user 102 with the plurality of applications 150.

In additional embodiments of the present technology, the applicationdata 202 may comprise miscellaneous information determined and/orextracted by the plurality of applications 150 about the user 102. As anon-exhaustive list of examples of the miscellaneous information aboutthe user 102, the miscellaneous information may comprise userpreferences, user habits, statistical data, login information, etc.

The user specific data 204 may be data explicitly provided by the user102 by the mobile device 104. For example, the user specific data 204may be indicative of user preferences, settings, user activity or otherinformation that the user 102 inputted, selected, or was desirous tostore on the mobile device 104.

The GPS data 206 is data provided by the GPS module 170 and comprisesinformation indicative of a plurality of given geographical positions ofthe mobile device 104 having been recorded. Similarly to the GPS data206, the sensor data 208 is data provided by the one or more sensors ofthe sensor devices 180 and comprises information indicative of values ofone or more sensed parameters by the respective one or more sensors ofthe sensor devices 180 having been recorded.

The temporal data 210 is representative of timestamps associated withthe application data 202, the user specific data 204, the GPS data 206,the sensor data 208 and the other data 212. In other words, the temporaldata 210 may be indicative of an exact time or of an interval of timeduring which a given data has been recorded and/or provided to themobile device 104.

In FIG. 2, temporal data 210 is depicted as a separate entity from theapplication data 202, the user specific data 204, the GPS data 206, thesensor data 208 and the other data 212. However, in some embodiments ofthe present technology, the temporal data 210 may be implicitly includedin the application data 202, the user specific data 204, the GPS data206, the sensor data 208 and the other data 212. In additionalembodiments, the mobile device 104 may be configured to analyse theapplication data 202, the user specific data 204, the GPS data 206, thesensor data 208 and the other data 212 in order to determine and extractthe temporal data 210. This way, the temporal data 210 may be storedexplicitly in the device storage of the mobile device 102.

The other data 212 may be indicative of additional information relatedwith the multiple functionalities of the mobile device 104 and isdepicted in FIG. 2 in order to clarify that the device data 160 maycomprise other data types of data to those having been presented above.

Generally speaking, the mobile device 104 is configured to (i) trackuser interactions with the mobile device 104, (ii) gather and storedevice data 160 and (iii) transmit the device data 160 by acommunication network 110. The mobile device 104 may be configured togenerate a device data packet 120 (FIG. 1). The device data packet 120comprises the device data 160 (or a portion thereof) and may betransmitted via the communication network 110 to at least one otherdevice communicatively connected thereto for execution of additionaltasks based on the device data 160 and/or for external storage thereof.

Continuing with the description of FIG. 1, the mobile device 104 iscommunicatively coupled to the communication network 110 for accessing aserver 112. In some non-limiting embodiments of the present technology,the communication network 110 can be implemented as the Internet. Inother embodiments of the present technology, the communication network110 can be implemented differently, such as any wide-area communicationnetwork, local-area communication network, a private communicationnetwork and the like. A communication link (not separately numbered)between the mobile device 104 and the communication network 110 isimplemented will depend inter alia on how the mobile device 104 isimplemented.

Description of External Services

In some embodiments, the system 100 comprises external services 116which are communicatively coupled to the communication network 110. Theexternal services 116 host one or more web services that providerequested data about users subscribed thereto (i.e., subscribers). Forexample, the one or more web services may comprise: Yandex.Taxi™,Google.Maps™, Yandex.Maps™, Yandex.Mail™, Uber™, Yandex.Search™,Yandex.Money™, Gmail™, Yandex.Metrics™, Yandex.Disk™, etc. Additionally,the one ore more web services may comprise work management web servicesfor a variety of professions. For instance, the work management webservices may comprise: construction management web services, deliveryweb services, watering web services, etc. It should be noted that thepreceding list of the one or more web services is not exhaustive and alarge number and a large variety of web services may be hosted by theexternal services 116.

How the external services 116 are implemented is generally known in theart and as such, will not be described here at much length. Suffice tosay that upon request, for example, the external services 116 providethe requested data to the server 112. Generally speaking, the requesteddata provided to the server 112 is employed by the server 112 in orderto execute at least some functionalities of the server 112, such astraining a plurality of Machine Learning Algorithms (MLAs) 350, depictedin FIG. 3, and, in some embodiments, to determine characteristicsattributed to respective subscribers of the one or more web services.

In order to understand the content of the requested data acquired andstored by the external services 116 will now be described with referenceto FIG. 4. FIG. 4 depicts a first subscriber 402, a second subscriber404 and a third subscriber 406, who are subscribers to a specific webservice hosted by the external services 116. In other embodiments, thefirst subscriber 402, the second subscriber 404 and the third subscriber406 may be associated with respective web services hosted by theexternal services 116.

Each one of the first subscriber 402, the second subscriber 404 and thethird subscriber 406 is respectively associated with a first subscriberdevice 412, a second subscriber device 414 and a third subscriber device416. Each one of the first subscriber device 412, the second subscriberdevice 414 and the third subscriber device 416 is implemented similarlyto the mobile device 104 of the user 102 depicted in FIG. 1. In otherembodiments, however, each one of the first subscriber device 412, thesecond subscriber device 414 and the third subscriber device 416 may beimplemented differently from the mobile device 104.

Each one of the first subscriber device 412, the second subscriberdevice 414 and the third subscriber device 416 may generate,respectively, a first subscriber data packet 422, a second subscriberdata packet 424 and a third subscriber data packet 426. Each one of thefirst subscriber data packet 422, the second subscriber data packet 424and the third subscriber data packet 426 comprises subscriber devicedata respectively associated with the first subscriber device 412, thesecond subscriber device 414 and the third subscriber device 416. Thesubscriber device data of each one of the first subscriber device 412,the second subscriber device 414 and the third subscriber device 416 maycomprise various data types similarly to the device data 160 depicted inFIG. 2. The first subscriber data packet 422, the second subscriber datapacket 424 and the third subscriber data packet 426 are generated inorder to transmit the subscriber device data of each one of the firstsubscriber device 412, the second subscriber device 414 and the thirdsubscriber device 416 to the external services 116.

As a mere example, let's have a closer look at the subscriber devicedata of the first subscriber device 412. For instance, the firstsubscriber 402 may be a particular taxi driver subscribed to a given webservice, such as Yandex.Taxi web service. This means that the firstsubscriber 402 is working for Yandex.Taxi web services as the particulartaxi driver. The first subscriber device 412 implements a given taxiapplication associated with the Yandex.Taxi web service which allowstracking and gathering information about the first subscriber 402.

The given taxi application may track and gather information about thefirst subscriber 402 such as GPS data associated with taxi rides offeredby the first subscriber 402, fare data (i.e., fare prices or fare rateshaving been charged by the particular taxi driver) related to taxi ridesoffered by the first subscriber 402, temporal data associated with thetaxi rides offered by the first subscriber 402, etc. Additionally, thegiven taxi application may track and gather checkpoint data associatedwith the taxi rides offered by the first subscriber 402. In other words,the checkpoint data may be indicative of a starting checkpoint and anending checkpoint of each taxi ride offered by the first subscriber 402.

It should be noted that the information tracked and gathered by thegiven taxi application may be included in the subscriber device data ofthe first subscriber device 412. The information tracked and gathered bythe given taxi application will be further discussed below withreference to FIG. 5 and to at least some functionalities of the server112.

As another example, let's have a closer look at the subscriber devicedata of the second subscriber device 414. For instance, the secondsubscriber 404 may be a particular construction worker subscribed to aconstruction management web service. This means that the secondsubscriber 404 is working as the particular construction worker for aconstruction enterprise implementing the construction management webservice. The second subscriber device 414 implements a givenconstruction managing application which allows tracking and gatheringinformation about construction jobs undertaken by the second subscriber404.

The given construction management application may track and gatherinformation about the second subscriber 404 such as geographicalinformation associated with construction jobs undertaken by the secondsubscriber 404, indications of types of the construction jobs undertakenby the second subscriber 404, temporal data associated with theconstruction jobs undertaken by the second subscriber 404, time ratedata (i.e., time rates for charging an amount of money per unit of timefor a given construction job) associated with the construction jobsundertaken by the second subscriber 404, etc. Additionally, the givenconstruction management application may track and gather sound data (viaa sensor device such as a microphone of the second subscriber device414) associated with the construction jobs undertaken by the secondsubscriber 404. In addition, the given construction managementapplication may track and gather checkpoint data associated with theconstruction jobs undertaken by the second subscriber 404. In otherwords, the checkpoint data may be indicative of a starting checkpointand an ending checkpoint of each construction job undertaken by thesecond subscriber 404.

It should be noted that the information tracked and gathered by thegiven construction management application may be included in thesubscriber device data of the second subscriber device 414. Theinformation tracked and gathered by the given construction managingapplication will be further discussed below with reference to FIG. 6 andto at least some functionalities of the server 112.

As previously mentioned, with reference to FIG. 1, the server 112 mayrequest the requested data from the external services 116. As a result,the server 112 is configured to generate a request packet 99 whichcomprises computer-readable instructions for enabling the externalservices 116 to identify the requested data. The server 112 may thentransmit the request packet 99 to the external services 116 foridentifying the requested data by the server 112. The computer-readableinstructions may be generated by an operator (not depicted) of theserver 112.

Upon acquiring the request packet 99 from the server 112 via thecommunication network 110, the external services 116 are configured togenerate a requested data packet 130 in order to transmit the requesteddata to the server 112. For example, the requested data may comprise thesubscriber device data of each one of the first subscriber device 412,the second subscriber device 414 and the third subscriber device 416. Inother embodiments, however, the requested data may comprise at leastsome of the subscriber device data of each one of the first subscriberdevice 412, the second subscriber device 414 and the third subscriberdevice 416 and will depend on the computer-readable instructions thathave been transmitted to the external services 116 via the requestpacket 99.

Description of the Server

With continued reference to FIG. 1, the server 112 can be implemented asa conventional computer server. In an example of an embodiment of thepresent technology, the server 112 can be implemented as a Dell™PowerEdge™ Server running the Microsoft™ Windows Server™ operatingsystem. Needless to say, the server 112 can be implemented in any othersuitable hardware, software, and/or firmware, or a combination thereof.In the depicted non-limiting embodiments of the present technology, theserver 112 is a single server. In alternative non-limiting embodimentsof the present technology, the functionality of the server 112 may bedistributed and may be implemented via multiple servers.

Generally speaking, the server 112 is configured to execute a pluralityof computer-executable routines in order to facilitate at least somefunctionalities of the present technology. The server 112 is configuredto: (i) acquire the device data 160 from mobile device 104 associatedwith the user 102, (ii) associate the user 102 to at least one class ofusers, (iii) extract a dataset from the device data 160 which comprisesdata of a specific plurality of data types, (iv) train the plurality ofMLAs 350 depicted in FIG. 3, (v) apply a given logical analysis on thedataset based on one of the trained MLAs 350, (vi) extract at least onedata pattern indicative of an at least one occupational event performedby the user 102 and (vii) determine at least one income valuerespectively associated with each one of the at least one occupationalevent performed by the user 102.

How the server 112 is configured to execute the plurality ofcomputer-executable routines mentioned above will be further describedbelow with reference to additional functionalities of the server 112 andto multiple implementational details of the present technology.

As depicted in FIG. 1, the server 112 is in communicatively coupled to aserver storage 114. The server storage 114 is depicted in FIG. 1 as asingly entity but this does not need to be so in each and everyembodiment of the present technology. As such, the server storage 114may, in itself, be split into several distributed storages.Alternatively, the server storage 114 can be implemented as part of theserver 112.

With reference to FIG. 3, there is depicted an occupational data table300 and the plurality of MLAs 350. The occupational data table 300 andthe plurality of MLAs 350 are stored locally by the server storage 114.In other embodiments, the occupational data table 300 and the pluralityof MLAs 350 may be stored remotely on any storage device communicativelycoupled, directly or indirectly, to the server 112.

Description of the Occupational Data Table

The occupational data table 300 is created and structured by theoperator of the server 112. The occupational data table 300 comprises aplurality of occupational classes 302. In the depicted example, theplurality of occupational classes 302 comprises five distinctoccupational classes, namely: a taxi driver class 306, a delivery driverclass 308, a painter class 310, a construction worker class 312, and awaiter class 314.

As mentioned above, each occupational class in the plurality ofoccupational classes 302 is defined by the operator of the server 112.Needles to say, the plurality of occupational classes 302 may comprise asmaller or a larger number of distinct occupational classes, which willdepend on various implementations of the present technology. Therefore,it should be noted that the plurality of occupational classes 302comprising the five distinct occupational classes is illustrated in FIG.3 for ease of understanding only and may comprise more or less than thefive distinct occupational classes.

The occupational data table 300 also comprises a plurality of eventtypes 304. A first event type 316 “Taxi ride” is associated with thetaxi driver class 306. A second event type 318 “Local delivery” and athird event type 320 “Remote delivery” are associated with the deliverydriver class 308. A fourth event type 322 “Indoor painting” and a fifthevent type 324 “Outdoor painting” are associated with the painter class310. A sixth event type 326 “Demolition”, a seventh event type 328“Carpentry” and an eighth event type 330 “Welding” are associated withthe construction worker class 312. A ninth event type 332 “Greeting” anda tenth event type “Service” are associated with the waiter class 314.

It should be noted that the plurality of event types 304 may compriseadditional event types to those depicted in FIG. 2. Associations betweenthe plurality of occupational classes 302 and the plurality of eventtypes 304 are determined by the operator of the server 112. As such,associations between the plurality of occupational classes 302 and theplurality of event type 304 are illustrated in FIG. 3 for ease ofunderstanding only and that a large variety of associations between theplurality of occupational classes 302 and the plurality of event types304 may be implemented in additional embodiments of the presenttechnology.

Each occupational class amongst the plurality of occupational classes302 is associated with a respective MLA amongst the plurality of MLAs350. More specifically, the taxi driver class 306 is associated with afirst MLA 352, the delivery driver class 308 is associated with a secondMLA 354, the painter class 310 is associated with a third MLA 356, theconstruction worker class 312 is associated with a fourth MLA 358 andthe waiter class 314 is associated with a fifth MLA 360.Implementational details and at least some functionalities of theplurality of MLAs 350 will now be described.

Description of the MLAs

Generally speaking, a given MLA that is associated with a givenoccupational class amongst the plurality of occupational classes 302applies a respective logical analysis on a dataset inputted therein. Theapplication of a respective logical analysis is effected in order todetermine at least one given occupational event from the dataset. Also,the application of a respective logical analysis results in anassociation of the at least one given occupational event with a givenevent type that is associated with the given occupational class of thegiven MLA during an in-use phase of the given MLA.

For instance, the first MLA 352 that is associated with the taxi driverclass 306 may apply a respective logical analysis on the datasetinputted therein. The application of the logical analysis of the firstMLA 352 may be effected in order to determine the at least one givenoccupational event from the dataset. The application of the respectivelogical analysis will also result in an association of the at least onegiven occupational event with the first event type 316 “Taxi ride”.

In another instance, the fourth MLA 358 that is associated with theconstruction worker class 312 may apply a respective logical analysis onthe dataset inputted therein. The application of the logical analysis ofthe fourth MLA 358 may be effected in order to determine the at leastone given occupational event from the dataset. The application of therespective logical analysis will also result in an association of the atleast one given occupational event with either the sixth event type 326“Demolition”, seventh event type 328 “Carpentry” or the eighth eventtype 330 “Welding”.

However, in order to apply the respective logical analysis on thedataset, each given MLA amongst the plurality of MLAs 350 must betrained based on the requested data acquired by the server 112 from theexternal services 116. How a given MLA is trained in order to apply arespective logical analysis will now be described.

The server 112 is configured to train each MLA in the plurality of MLAs350 based on the requested data that was transmitted to the server 112from the external services 116. The server 112 is configured to executea preliminary analysis upon acquiring the requested data packet 130depicted in FIG. 1. As mentioned above, the requested data packet 130comprises subscriber device data of the subscriber devices associatedwith the one or more web services hosted by the external services 116.The preliminary analysis is executed via a set of computer-readableinstructions that are stored in the server storage 114.

Generally speaking, the server 112 is configured to execute thepreliminary analysis in order to structure the requested data fortraining the plurality of MLAs 350 based on that structured data. Inother words, the preliminary analysis is executed by the server 112 inorder to structure raw data (i.e., subscriber device data) into trainingdata for training the plurality of MLAs 350.

Needless to say, each MLA amongst the plurality of MLAs 350 may beassociated with a distinct preliminary analysis where each distinctpreliminary analysis will vary depending on the occupational class towhich each MLA is associated. This means that the server 112 may beconfigured to execute a distinct preliminary analysis for each MLAamongst the plurality of MLAs 350.

Further implementational details of the preliminary analyses and MLAtrainings will be described with respect to the first MLA 352 and thefourth MLA 358. For ease of understanding, let's assume that the firstsubscriber 402 is the particular taxi driver subscribed to theYandex.Taxi web service and that the second subscriber 404 is theparticular construction worker subscribed to the construction managementweb service.

Execution of a 1^(st) Preliminary Analysis

As part of a first preliminary analysis associated with the first MLA352, the server 112 may be configured to determine subscriber devicedata that is required for training the first MLA 352. In this case, theserver 112 may identify at least some of the subscriber device data ofthe first subscriber device 412 as training data of the first MLA 352.Indeed, the subscriber device data of the first subscriber device 412 isindicative of the first subscriber 402 being the particular taxi driver.Therefore, since the first MLA 352 is associated with the taxi driverclass 306, the server 112 may determine that at least some of thesubscriber device data of the first subscriber device 412 is to be usedfor training data of the first MLA 352.

With reference to FIG. 5, there is depicted a visual representation 500of the GPS data in time associated with the first subscriber device 412.The visual representation 500 comprises a first starting checkpoint 502,a second starting checkpoint 506, a third starting checkpoint 510 and afourth starting checkpoint 514 which are all part of the checkpoint dataassociated with the taxi rides offered by the first subscriber 402. Thevisual representation 500 also comprises a first ending checkpoint 504,a second ending checkpoint 508, a third ending checkpoint 512 and afourth ending checkpoint 516 which are all part of the checkpoint dataassociated with the taxi rides offered by the first subscriber 402. Aspreviously mentioned, the checkpoint data is transmitted to the server112 via the requested data packet 130.

The server 112 may execute the first preliminary analysis in order tosort the subscriber device data of the first subscriber device 412 basedon the checkpoint data.

In some embodiments, the server 112 may sort the subscriber device dataof the first subscriber device 412 into a first data segment 550associated with the taxi rides offered by the particular taxi driver.For example, the server 112 is configured to associate a first taxi ridedata 518 to the first data segment 550 since the first taxi ride data518 is a portion of the GPS data gathered during an interval of timedelimited by the first starting checkpoint 502 and the first endingcheckpoint 504. For ease of understating, the first taxi ride data 518comprises GPS data associated with a first taxi ride offered by theparticular taxi driver.

Similarly, the server 112 may be configured to associate a second taxiride data 522, a third taxi ride data 526 and a fourth taxi ride data530 to the first data segment 550. For example:

-   -   the second taxi ride data 522 is a portion of the GPS data        gathered during an interval of time delimited by the second        starting checkpoint 506 and the second ending checkpoint 508;    -   the third taxi ride data 526 is a portion of the GPS data        gathered during an interval of time delimited by the third        starting checkpoint 510 and the third ending checkpoint 512; and    -   the fourth taxi ride data 530 is a portion of the GPS data        gathered during an interval of time delimited by the fourth        starting checkpoint 514 and the fourth ending checkpoint 516.

In other embodiments, the server 112 may sort the subscriber device dataof the first subscriber device 412 into the first data segment 550 andinto a second data segment 560 where the latter one is associated withtime intervals which are between two consecutive taxi rides offered bythe particular taxi driver. Such time intervals are representative ofstand-by periods during which the particular taxi driver (i.e., thefirst subscriber 402) is waiting to pick-up a new customer in order tooffer her/him a taxi ride. For example, the server 112 is configured toassociate a first stand-by data 520 to the second data segment 560 sincethe first stand-by data 520 is a portion of the GPS data gathered duringan interval of time delimited by the first ending checkpoint 504 and thesecond starting checkpoint 506.

Similarly, the server 112 may be configured to associate a secondstand-by data 524 and a third stand-by data 528 to the second datasegment 560. For example:

-   -   the second stand-by data 524 is a portion of the GPS data        gathered during an interval of time delimited by the second        ending checkpoint 508 and the third starting checkpoint 510; and    -   the third stand-by data 528 is a portion of the GPS data        gathered during an interval of time delimited by the third        ending checkpoint 512 and the fourth starting checkpoint 514.

As a result of the first preliminary analysis executed by the server112, at least some of the subscriber device data of the first subscriberdevice 412 (i.e., raw data) is structured into the training data fortraining the first MLA 352. In this case, the training data for trainingthe first MLA 352 comprises the first data segment 550, the second datasegment 560 and the fare data associated with each taxi ride data in thefirst data segment 550. The server 112 is configured to store thetraining data for training the first MLA 352. In other embodiments, theserver 112 may be configured to train the first MLA 352 upon terminatingthe first preliminary analysis.

Training of the 1^(st) MLA

After executing the first preliminary analysis, the server 112 isconfigured to input the training data of the first MLA 352 into thefirst MLA 352. Based on the training data inputted into the first MLA352, the first MLA 352 is trained to recognise data patterns that areindicative of taxi rides offered by the particular taxi driver. Forexample, the first MLA 352 may be trained to recognise data patterns inthe first data segment 550. In other words, the first MLA 32 may betrained to recognise data patterns that are implicit in the GPS dataassociated with the first taxi ride data 518, the second taxi ride data522, the third taxi ride data 526 and the fourth taxi ride data 530.Therefore, the first MLA 352 may be trained to recognise data patternsthat are implicit in the GPS data and that are indicative of taxi rideshaving been offered.

Additionally, the first MLA 352 may be trained to attribute a fare priceto each taxi ride having been offered. Indeed, since the fareinformation is part of the training data that is inputted into the firstMLA 352, the first MLA 352 may be trained to estimate for each datapattern being indicative of a taxi ride having been offered a respectivefare price based on the respective data pattern. The first MLA 352 maybe trained to recognize associations between the fare prices charged bythe particular taxi driver (i.e., the fare data comprises fare prices)and amounts of time in the time intervals associated with the respectivedata patterns. Additionally, the first MLA 352 may be trained torecognize associations between the fare prices charged by the particulartaxi driver and geographical distances having been travelled by theparticular taxi driver that are associated with the respective datapatterns.

In other embodiments of the present technology, based on the trainingdata inputted into the first MLA 352, the first MLA 352 may be trainedto recognise data patterns that are indicative of stand-by periods ofthe particular taxi driver. For example, the first MLA 352 may betrained to recognise data patterns in the second data segment 560. Inother words, the first MLA 352 may be trained to recognise data patternsthat are implicit in the GPS data associated with the first stand-bydata 520, the second stand-by data 524 and the third stand-by data 528.Therefore, the first MLA 352 may be trained to recognise data patternsthat are implicit in the GPS data and that are indicative of stand-byperiods during which the particular taxi driver was not offering taxirides.

In some embodiments, recognition of the data patterns that areindicative of stand-by periods may allow the first MLA 352 to recognisemore accurately the data patterns that are indicative of taxi rideshaving been offered.

The server 112 is configured to train the first MLA 352 in order toapply its respective logical analysis to a plurality of data typeswhich, in this case, comprises a GPS data type and a temporal data type.An in-use phase of the first MLA 352 during which the first MLA 352applies its respective logical analysis will be further described belowwith reference to the device data 160 being acquired by the server 112via the device data packet 120 depicted in FIG. 1.

Execution of a 4^(th) preliminary analysis

As part of a fourth preliminary analysis, the server 112 may beconfigured to determine subscriber device data that is required fortraining the fourth MLA 358. In this case, the server 112 may identifyat least some of the subscriber device data of the second subscriberdevice 414 as training data of the fourth MLA 358. It should be notedthat the subscriber device data of the second subscriber device 414comprises information that is indicative of the second subscriber 404being the particular construction worker. Therefore, since the fourthMLA 358 is associated with the construction worker class 312, the server112 may determine that at least some of the subscriber device data ofthe second subscriber device 414 is to be used for training data of thefourth MLA 358

With reference to FIG. 6, there is depicted a visual representation 600of the sound data in time associated with the second subscriber device414. The visual representation 600 comprises a first starting checkpoint602, a second starting checkpoint 606, a third starting checkpoint 610,a fourth starting checkpoint 614 and a fifth starting checkpoint 618which are all part of the checkpoint data associated with theconstruction jobs undertaken by the second subscriber 404. The visualrepresentation 600 also comprises a first ending checkpoint 604, asecond ending checkpoint 608, a third ending checkpoint 612, a fourthending checkpoint 616 and a fifth ending checkpoint 620 which are allpart of the checkpoint data associated with the construction jobsundertaken by the second subscriber 404. The visual representation 600also comprises a first indication 640, a second indication 642, a thirdindication 644, a fourth indication 646 and a fifth indication 648 whichare all indications of types of construction jobs undertaken by thesecond subscriber 404 and which are all part of the subscriber devicedata of the second subscriber device 414. It should be noted that thecheckpoint data and data associated with the indications of types ofconstruction jobs are transmitted to the server 112 via the requesteddata packet 130.

The server 112 may execute the fourth preliminary analysis in order tosort the subscriber device data of the second subscriber device 414based on the checkpoint data.

In some embodiments, the server 112 may sort the subscriber device dataof the second subscriber device 414 into a first data segment 658associated with the construction jobs undertaken by the secondsubscriber 404. For example, the server 112 is configured to associate afirst construction job data 622 to the first data segment 658 since thefirst construction job data 622 is a portion of the sound data gatheredduring an interval of time delimited by the first starting checkpoint602 and the first ending checkpoint 604. For ease of understating, thefirst construction job data 622 comprises sound data associated with afirst construction job undertaken by the second subscriber 404.

Similarly, the server 112 may be configured to associate a secondconstruction job data 626, a third construction job data 630, a fourthconstruction job data 634 and a fifth construction job data 638 to thefirst data segment 658. Indeed:

-   -   the second construction job data 626 is a portion of the sound        data gathered during an interval of time delimited by the second        starting checkpoint 606 and the second ending checkpoint 608;    -   the third construction job data 630 is a portion of the sound        data gathered during an interval of time delimited by the third        starting checkpoint 610 and the third ending checkpoint 612;    -   the fourth construction job data 634 is a portion of the sound        data gathered during an interval of time delimited by the fourth        starting checkpoint 614 and the fourth ending checkpoint 616;        and    -   the fifth construction job data 638 is a portion of the sound        data gathered during an interval of time delimited by the fifth        starting checkpoint 618 and the fifth ending checkpoint 620.

In other embodiments, the server 112 may execute the fourth preliminaryanalysis in order to sort the subscriber device data of the secondsubscriber device 414 further based on the indications of types ofconstruction jobs.

For example, let's assume that the first indication 640 and the fourthindication 646 are indicative of the second subscriber 404 undertakingdemolition jobs. Therefore, the server 112 may sort the firstconstruction job data 622 and the fourth construction job data 634 intoa first data sub-segment 650 in the first data segment 658 since thefirst indication 640 was gathered during a moment in time that is in theinterval of time during which the first construction job data 622 wasgathered and since the fourth indication 646 was gathered during amoment in time that is in the interval of time during which the fourthconstruction job data 634 was gathered.

In another example, let's assume that the second indication 642 and thefifth indication 648 are indicative of the second subscriber 404undertaking carpentry jobs. Therefore, the server 112 may sort thesecond construction job data 626 and the fifth construction job data 638into a second data sub-segment 652 in the first data segment 658 sincethe second indication 642 was gathered during a moment in time that isin the interval of time during which the second construction job data626 was gathered and since the fifth indication 648 was gathered duringa moment in time that is in the interval of time during which the fifthconstruction job data 638 was gathered.

In yet a further example, let's say that the third indication 644 isindicative of the second subscriber 404 undertaking a welding job.Therefore, the server 112 may sort the third construction job data 630into a third data sub-segment 654 in the first data segment 658 sincethe third indication 644 was gathered during a moment in time that is inthe interval of time during which the third construction job data 630was gathered.

In additional embodiments, the server 112 may sort the subscriber devicedata of the second subscriber device 414 into the first data segment 658and into a second data segment 656 where the latter one is associatedwith time intervals which are between two consecutive construction jobsundertaken by the second subscriber 404. Such time intervals arerepresentative of stand-by periods during which the second subscriber404 is located in a construction job site without undertaking anyconstruction job and/or is waiting to be assigned with anotherconstruction job. For example, the server 112 is configured to associatea first stand-by data 624 to the second data segment 656 since the firststand-by data 624 is a portion of the sound data gathered during aninterval of time delimited by the first ending checkpoint 604 and thesecond starting checkpoint 606.

Similarly, the server 112 may be configured to associate a secondstand-by data 628, a third stand-by data 632 and a fourth stand-by data636 to the second data segment 656. Indeed:

-   -   the second stand-by data 628 is a portion of the sound data        gathered during an interval of time delimited by second ending        checkpoint 608 and the third starting checkpoint 610;    -   the third stand-by data 632 is a portion of the sound data        gathered during an interval of time delimited by third ending        checkpoint 612 and the fourth starting checkpoint 614; and    -   the fourth stand-by data 636 is a portion of the sound data        gathered during an interval of time delimited by fourth ending        checkpoint 616 and the fifth starting checkpoint 618.

As a result of the fourth preliminary analysis executed by the server112, at least some of the subscriber device data of the secondsubscriber device 414 (i.e., raw data) is structured into the trainingdata for training the fourth MLA 358. In this case, the training datafor training the fourth MLA 358 comprises the first data segment 658,the second data segment 656 and the time rate data associated with eachconstruction job data in the first data segment 658. The server 112 isconfigured to store the training data for training the fourth MLA 358.In other embodiments, the server 112 may be configured to train thefourth MLA 358 upon terminating the fourth preliminary analysis.

Training of the 4^(th) MLA

After executing the fourth preliminary analysis, the server 112 isconfigured to input the training data of the fourth MLA 358 into thefourth MLA 358. Based on the training data inputted into the fourth MLA358, the fourth MLA 358 is trained to recognise data patterns that areindicative of construction jobs undertaken by the second subscriber 404.The fourth MLA 358 may be trained to recognise data patterns in thefirst data segment 658. In other words, the fourth MLA 358 may betrained to recognise data patterns that are implicit in the sound dataassociated with each one of the data sub-segments in the first datasegment 658. More specifically, the fourth MLA 358 may be trained torecognise data patterns that are implicit in the sound data associatedwith the first data sub-segment 650, the second data sub-segment 652 andthe third data sub-segment 654, respectively. This means that the fourthMLA 358 may be trained to recognise which data patterns of the sounddata are associated with demolition jobs. The fourth MLA 358 may betrained to also recognise which data patterns of the sound data arecarpentry jobs. The fourth MLA 358 may be trained to also recognisewhich data patterns of the sound data are associated with welding jobs.The fourth MLA 358 may recognise the data patterns based on a variety ofsound data characteristics such as frequencies, pitches, durations,loudness, timbers, sonic textures, noises and the like, and, then,associate the data patterns to particular types of construction jobshaving been undertaken.

Additionally, the fourth MLA 358 may be trained to attribute a time rateto each construction job. Indeed, since the time rate data of eachconstruction job data is part of the training data that is inputted intothe fourth MLA 358, the fourth MLA 358 may be trained to estimate foreach data pattern being indicative of any construction job having beenundertaken a respective time rate based on the respective data pattern.The fourth MLA 358 may be trained to recognize associations between thetime rates charged by the particular construction worker and amounts oftime in the time intervals associated with the respective data patterns.

In other embodiments, based on the training data inputted into thefourth MLA 358, the fourth MLA 358 may be trained to recognise datapatterns that are indicative of stand-by periods during which the secondsubscriber 404 is located in a construction job site without undertakingany construction job and/or is waiting to be assigned with anotherconstruction job. For example, the fourth MLA 358 may be trained torecognise data patterns in the second data segment 656. In other words,the fourth MLA 358 may be trained to recognise data patterns that areimplicit in the sound data associated with the first stand-by data 624,the second stand-by data 628, the third stand-by data 632 and the fourthstand-by data 636.

Therefore, the fourth MLA 358 may be trained to recognise data patternsthat are implicit in the sound data and that are indicative of stand-byperiods during which the second subscriber 404 is located in aconstruction job site without undertaking any construction job and/or iswaiting to be assigned with another construction job. Indeed, therecognition of such data patterns may be desired during an in-use phaseof the fourth MLA 358 since some sound frequencies with stand-by periodsmay be similar to some sound frequencies associated with a givenconstruction job because a given construction worker is still located inthe construction job site. However, the data pattern associated with thegiven construction job may be different from the data pattern associatedwith the given stand-by period because the volume, loudness and/orpitches, for example, may be different since the given constructionworker may be located further from the given construction job during thestand-by period than if the given construction worker was undertakingthe given construction job.

In some embodiments, recognition of the data patterns that areindicative of stand-by periods may allow the fourth MLA 358 to recognisemore accurately the data patterns that are indicative of constructionjobs having been undertaken.

The server 112 is configured to train the fourth MLA 358 in order toapply its respective logical analysis to the plurality of data typeswhich, in this case, comprises a sound data type and the temporal datatype. An in-use phase of the fourth MLA 358 during which the fourth MLA358 applies its respective logical analysis will be further describedbelow.

It should be noted that the server 112 may apply a respectivepreliminary analysis for each one of the second MLA 354, the third MLA356 and the fifth MLA 360 similarly to how the server 112 applied thefirst preliminary analysis for the first MLA 352 and the fourth MLA 358.It should be noted that the server 112 may respectively train each oneof the second MLA 354, the third MLA 356 and the fifth MLA 360 similarlyto how the server 112 trained the first MLA 352 and the fourth MLA 358for applying their respective logical analyses.

As mentioned above, the server 112 is configured to acquire the devicedata 160 depicted in FIG. 2 via the device data packet 120 from themobile device 104 associated with the user 102.

Generally speaking, the server 112 may be configured to classify theuser 102 with at least one occupational class amongst the plurality ofoccupational classes 302 based on the device data 160. Indeed, thedevice data 160 comprises information being indicative of at least oneoccupation of the user 102. This, based on the information beingindicative of at least one occupation of the user 102, the server 112may associate the user 102 with the at least one occupational classamongst the plurality of occupational classes 302.

In some embodiments, the server 112 may classify the user 102 based onthe application data 202 associated with the mobile device 104. Forexample, the server 112 may associate the user 102 with the taxi driverclass 306 if the application data 202 associated with the mobile device104 comprises data associated with a taxi driving applicationimplemented by the mobile device 104. In other embodiments, the server112 may classify the user 102 based on the user specific data 204associated with the mobile device 104. For example, the server 112 mayassociate the user 102 with the taxi driver class 306 if the userspecific data 204 associated with the mobile device 104 comprises dataindicative of the user 102 identifying himself/herself as being a taxidriver. In additional embodiments, the server 112 may classify the user102 based on a heuristic analysis of the device data 160 of the mobiledevice 104.

After associating the user 102 with a particular occupational classamongst the plurality of occupational classes 302, the server 112 may beconfigured to extract the dataset from the device data 160 of the mobiledevice 104 in order to apply the respective logical analysis of aparticular MLA associated with the particular occupational class.

First Scenario

In a first scenario, the server 112 may be configured to associate theuser 102 with the taxi driver class 306 based on the informationindicative of the at least one occupation of the user 102. In this case,the information indicative of the at least one occupation of the user102 may be indicative of the user 102 being a taxi driver.

The server 112 may be configured to extract from the device data 160 ofthe mobile device 104 the dataset which comprises data associated withthe plurality of data types on which the first MLA 352 (i.e., associatedwith the taxi driver class 306) was trained to apply its respectivelogical analysis.

In this case, the server 112 may be configured to extract the GPS data206 (i.e., associated with the GPS data type) and the temporal data 210(i.e., associated with the temporal data type) from the device data 160of the mobile device 104. In order to apply the logical analysis of thefirst MLA 352, the server 112 inputs the dataset comprising the GPS data206 and the temporal data 210 into the first MLA 352.

The first MLA 352 may apply its logical analysis on the dataset and, asa result, recognize at least one data pattern in the dataset that isindicative of at least one occupational event performed by the user 102.In this case, the first MLA 352 may recognize that the user 102performed one occupational event associated with the first event type316 “Taxi Ride”. The first MLA 352 will estimate a fare price associatedwith the one occupational event performed by the user 102.

In other words, the first MLA 352 may determine that the user 102offered one taxi ride and charged a client the estimated fare price forit. In this case, the server 112 may determine that the estimated fareprice is an income value associated with the user 102 and isrepresentative of the income of the user 102 of the mobile device 104.

Second Scenario

In a second scenario, the server 112 may be configured to associate theuser 102 with the construction worker class 312 based on the informationindicative of the at least one occupation of the user 102. In this case,the information indicative of the at least one occupation of the user102 may be indicative of the user 102 being a construction worker.

The server 112 may be configured to extract from the device data 160 ofthe mobile device 104 the dataset which comprises data associated withthe plurality of data types on which the fourth MLA 358 (i.e.,associated with the construction worker class 312) was trained to applyits respective logical analysis.

In this case, the server 112 may be configured to extract sound data(i.e., associated with the sound data type) from the sensor data 208 andthe temporal data 210 (i.e., associated with the temporal data type)from the device data 160 of the mobile device 104. In order to apply thelogical analysis of the fourth MLA 358, the server 112 inputs thedataset comprising the sound data of the mobile device 104 and thetemporal data 210 of the mobile device 104 into the fourth MLA 358.

The fourth MLA 358 may apply its logical analysis on the dataset and, asa result, recognize a first data pattern and a second data pattern inthe dataset that is indicative of a first occupational event and of asecond occupational event, respectively, performed by the user 102. Inthis case, the fourth MLA 358 may recognize that the user 102 performedthe first and the second occupational events which are respectivelyassociated with the sixth event type 326 “Demolition” and with theeighth event type 330 “Welding”. The fourth MLA 358 will estimate arespective time rate associated with the first occupational event andthe second occupational event performed by the user 102.

In other words, the fourth MLA 358 may determine that the user 102undertook a demolition job at a first time rate and a welding job at asecond time rate. In this case, the server 112 may determine that afirst income value associated with the user 102 is the first time ratemultiplied by the amount of time associated with the first occupationalevent (i.e., interval of time associated with the first data pattern).The server 112 may determine that a second income value is the secondtime rate multiplied by the amount of time associated with the secondoccupational event (i.e., interval of time associated with the seconddata pattern). The server 112 may determine that a total income value isthe sum of the first income value and of the second income value. Theserver 112 may determine that the total income value associated with theuser 102 and is representative of the income of the user 102 of themobile device 104.

Third Scenario

In another embodiment of the present technology, the server 112 may beconfigured to classify the user 102 as being associated with more thanone occupational class in the occupational data table 300 depicted inFIG. 3. Indeed, the server 112 may be configured to associate the user102 with the more than one occupational class based on the informationindicative of the at least one occupation of the user 102. In this case,the information indicative of the at least one occupation of the user102 may be indicative of the user 102 being a taxi driver and aconstruction worker.

For example, the server 112 may associate the user 102 with the taxidriver class 306 if the application data 202 associated with the mobiledevice 104 comprises data associated with the taxi driving applicationimplemented by the mobile device 104. However, the server 112 mayassociate the user 102 with the construction worker class 312 if theapplication data 202 associated with the mobile device 104 alsocomprises data associated with the construction management applicationimplemented by the mobile device 104. In this case, the server 112 mayclassify the user 102 as being a taxi driver and a construction worker.

The server 112 is configured to extract the GPS data 206 and thetemporal data 210 from the device data 160 of the mobile device 104 inorder to apply the logical analysis of the first MLA 352.

The server 112 is also configured to extract the sound data from thesensor data 208 and the temporal data 210 from the device data 160 ofthe mobile device 104 in order to apply the logical analysis of thefourth MLA 358.

In order to apply the logical analysis of the first MLA 352, the server112 inputs a first dataset comprising the GPS data 206 and the temporaldata 210 of the mobile device 104 into the first MLA 352.

In order to apply the logical analysis of the fourth MLA 358, the server112 inputs the dataset comprising the sound data of the mobile device104 and the temporal data 210 of the mobile device 104 into the fourthMLA 358.

The first MLA 352 may apply its logical analysis on the dataset and, asa result, recognize a first data pattern in the dataset that isindicative of a first occupational event performed by the user 102. Inthis case, and similarly to the first scenario, the first MLA 352 mayrecognize that the user 102 performed the first occupational eventassociated with the first event type 316 “Taxi Ride”. The first MLA 352will estimate the fare price associated with the first occupationalevent performed by the user 102.

In other words, the first MLA 352 may determine that the user 102offered one taxi ride and charged the client the estimated fare pricefor it. The server 112 may determine that the estimated fare price isthe first income value associated with the user 102.

The fourth MLA 358 may apply its logical analysis on the dataset and, asa result, recognize a second data pattern and a third data pattern inthe dataset that is indicative of a second occupational event and of athird occupational event, respectively, performed by the user 102. Inthis case, and similarly to the second scenario, the fourth MLA 358 mayrecognize that the user 102 performed the second and the thirdoccupational events which are respectively associated with the sixthevent type 326 “Demolition” and with the eighth event type 330“Welding”. The fourth MLA 358 will estimate a respective time rateassociated with the second occupational event and the third occupationalevent performed by the user 102.

In other words, the fourth MLA 358 may determine that the user 102undertook a demolition job at the first time rate and a welding job atthe second time rate. In this case, the server 112 may determine that asecond income value associated with the user 102 is the first time ratemultiplied by the amount of time associated with the second occupationalevent (i.e., interval of time associated with the second data pattern).The server 112 may determine that a third income value associated withthe user 102 is the second time rate multiplied by the amount of timeassociated with the third occupational event (i.e., interval of timeassociated with the third data pattern).

As a result, the server 112 may determine that a total income value ofthe user 102 is the sum of the first income value, the second incomevalue and the third income value and is representative of the income ofthe user 102.

In some embodiments of the present technology, the server 112 may beconfigured to execute a method 700 depicted in FIG. 7 of determining anincome of a user of a mobile device. Various steps of the method 700will now be described.

STEP 702: Acquiring Device Data Associated with the User of the MobileDevice

The method 700 begins at step 702 with the server 112 acquiring thedevice data 160 associated with the user 102 of the mobile device 104depicted in FIG. 1.

The device data 160 comprises information indicative of at least oneoccupation of the user 102. In one embodiment, the application data 202of the device data 160, depicted in FIG. 2, may comprise the informationindicative of at least one occupation. In another embodiment, the userspecific data 204 of the device data 160 may comprise the informationindicative of at least one occupation. In yet other embodiments, theuser specific data 204 of the device data 160 may comprise theinformation indicative of at least one occupation. In additionalembodiments, the information indicative of at least one occupation maybe determined via a heuristic analysis of the device data 160.

STEP 704: Associating the User with a First Occupational Class Based onthe Information Indicative of the at least One Occupation of the User

The method 700 continues to step 704 with the server 112 associating theuser 102 with a first occupational class amongst the plurality ofoccupational classes 302 depicted in FIG. 3 based on the informationindicative of the at least one occupation of the user 102.

The plurality of occupational classes 302 comprises the taxi driverclass 306, the delivery driver class 308, the painter class 310, theconstruction worker class 312 and the waiter class 314. As mentionedabove however, each occupational class in the plurality of occupationalclasses 302 is created by the operator of the server 112. Needles tosay, the plurality of occupational classes 302 may comprise a largenumber of distinct occupational classes which will depend on variousimplementations of the present technology. Therefore, it should be notedthat the plurality of occupational classes 302 comprising the fivedistinct occupational classes is illustrated in FIG. 3 for ease ofunderstanding only and may comprise more or less than the five distinctoccupational classes.

For example, the server 112 may associate the user 102 with the taxidriver class 306 (i.e., the first occupational class) based on theinformation indicative of the at least one occupation of the user 102.

As depicted in FIG. 3, each occupational class amongst the plurality ofoccupational classes 302 is associated with at least one event type anda respective MLA amongst the plurality of MLAs 350. Therefore, the firstoccupational class being the taxi driver class 306 is associated with atleast one event type being the first event type 316 “Taxi ride” and thefirst MLA 352.

In some embodiments, the server 112 may associate the user 102 with thefirst occupational class and a second occupational class amongst theplurality of occupational classes 302 based on the informationindicative of the at least one occupation of the user 102. For example,the server 112 may associate the user 102 with the taxi driver class 306(i.e., the first occupational class) and the construction worker class312 (i.e., the second occupational class) based on the informationindicative of the at least one occupation of the user 102. The secondoccupational class being the construction worker class 312 is associatedwith the sixth event type 326 “Demolition”, the seventh event type 328“Carpentry” and the eighth event type 330 “Welding” as well as thefourth MLA 358.

STEP 706: Extracting a Dataset from the Device Data Based on theOccupational Class

The method 700 continues to step 706 with the server 112 extracting afirst dataset from the device data 160 based on the first occupationalclass. The first dataset comprises data of a first plurality of datatypes.

In the case where the first occupational class is the taxi driver class306, the server 112 extracts the GPS data 206 (i.e., associated with theGPS data type) and the temporal data 210 (i.e., associated with thetemporal data type) from the device data 160 of the mobile device 104.Therefore, the first dataset comprises GPS data 206 and the temporaldata 210 being of the first plurality of data types which comprises theGPS data type and the temporal data type. Since the first MLA 352associated with the first occupational class has been trained on data ofthe first plurality of data types, the server 112 extracts the firstdataset comprising data of the first plurality of data types.

In some embodiments, where the user 102 has been further associated withthe second occupational class, the server 112 may extract a seconddataset from the device data 160 based on the second occupational class.The second dataset comprises data of a second plurality of data types.

In the case where the second occupational class is the constructionworker class 312, the server 112 extracts sound data (i.e., associatedwith the sound data type) from the sensor data 208 and the temporal data210 (i.e., associated with the temporal data type) from the device data160 of the mobile device 104. Therefore, the second dataset comprisessound data and the temporal data 210 being of the second plurality ofdata types which comprises the sound data type and the temporal datatype. The server 112 extracts the second dataset comprising data of thesecond plurality of data types because the fourth MLA 358 associatedwith the second occupational class has been trained on data of thesecond plurality of data types.

STEP 708: Applying a Logical Analysis of the MLA to the Dataset

The method 700 continues to step 708 with the server 112 applying afirst logical analysis of the first MLA 352 to the first dataset. Asmentioned above, the first MLA 352 has been trained to apply the firstlogical analysis to data of the first plurality of data types.

Applying the first logical analysis of the first MLA 352 comprisesextracting, via the first MLA 352, from the first dataset a first datapattern being indicative of a first occupational event performed by theuser 102. Moreover, the first data pattern extracted will be associatedwith one of the at least one event types.

The first MLA 352 may recognize, in the first dataset, at least one datapattern in the first dataset that is indicative of at least oneoccupational event performed by the user 102. In this case, the firstMLA 352 may recognize that the user 102 performed one occupational eventassociated with the first event type 316 “Taxi Ride”. The first datapattern will comprise at least some GPS data and at least some temporaldata from the first dataset which is indicative of one occupationalevent being a taxi ride.

Additionally, applying the first logical analysis of the first MLA 352comprises determining the first income value associated with the firstoccupational event based on the first data pattern. Indeed, the firstMLA 352 may be previously trained to recognize associations between thefare prices charged and amounts of time in the time intervals associatedwith the data patterns being indicative of taxi rides. Additionally, thefirst MLA 352 may be previously trained to recognize associationsbetween the fare prices charged and the geographical distances havingbeen travelled and that are associated with the data patterns beingindicative of taxi rides. Therefore, based on at least one of the amountof time in the time interval associated with the first data pattern andthe geographical distance having been travelled that is associated withthe first data pattern, the server 112 may determine the first incomevalue associated with the first occupational event.

In other words, the first MLA 352 may determine that the user 102offered one taxi ride and charged a client the estimated fare price forit. In this case, the server 112 may determine that the estimated fareprice is an income value associated with the user 102 and isrepresentative of the income of the user 102 of the mobile device 104.

In other embodiments of the present technology, the server 112 may applya fourth logical analysis of the fourth MLA 358 to the second dataset.As mentioned above, the fourth MLA 358 has been trained to apply thefourth logical analysis to data of the second plurality of data types.

Applying the fourth logical analysis of the fourth MLA 358 comprisesextracting, via the fourth MLA 358, from the second dataset a seconddata pattern being indicative of a second occupational event performedby the user 102. Moreover, the second data pattern extracted will beassociated with one of the at least one event types. In otherembodiments, applying the fourth logical analysis of the fourth MLA 358comprises extracting, via the fourth MLA 358, from the second dataset athird data pattern being indicative of a third occupational eventperformed by the user 102. Moreover, the third data pattern extractedwill be associated with one of the at least one event types.

For example, the fourth MLA 358 may apply its logical analysis on thedataset and, as a result, recognize the second data pattern and thethird data pattern in the second dataset where the second data patternand the third data pattern are indicative of the second occupationalevent and of the third occupational event, respectively, performed bythe user 102. In this case, the fourth MLA 358 may recognize that theuser 102 performed the second and the third occupational events whichare respectively associated with the sixth event type 326 “Demolition”and with the eighth event type 330 “Welding”. In other words, the fourthMLA 358 may determine that the user 102 undertook a demolition job and awelding job, aside from offering a taxi ride as determined by the firstMLA 352.

Applying the fourth logical analysis of the fourth MLA 358 comprisesdetermining a second income value associated with the secondoccupational event based on the second data pattern. Also, applying thefourth logical analysis of the fourth MLA 358 comprises determining athird income value associated with the third occupational event based onthe third data pattern. The fourth MLA 358 will estimate a respectivetime rate associated with the second occupational event (i.e., thedemolition job) and the third occupational event (i.e., the welding job)performed by the user 102.

As mentioned above, the fourth MLA 358 may be previously trained torecognize associations between time rates and amounts of time in thetime intervals associated with the respective data patterns beingindicative of respective construction jobs. Therefore, the fourth MLA358 may determine that the user 102 undertook the demolition job at thefirst time rate and the welding job at the second time rate.

In this case, the server 112 may determine that a second income valueassociated with the second data pattern is the first time ratemultiplied by the amount of time associated with the second occupationalevent (i.e., interval of time associated with the second data pattern).The server 112 may determine that a third income value associated withthe third data pattern is the second time rate multiplied by the amountof time associated with the third occupational event (i.e., interval oftime associated with the third data pattern).

In additional embodiments, the server 112 may determine a total incomevalue based on the first income value associated with the first datapattern, the second income value associated with the second data patternand the third income value associated with the third data pattern. Inother words, the server 112 may determine the total income value of theuser 102 by summing the first income value associated with the taxiride, the second income value associated with the demolition job and thethird income value associated with the welding job. The total incomevalue is representative of the income of the user 102 of the mobiledevice 104.

In some embodiments of the present technology, the server 112 may beconfigured to execute the method 700 for each user within a plurality ofusers (not depicted) similarly to how the server 112 executed the method700 for the user 102 of the mobile device 104. Indeed, by executing themethod 700 for each user of the plurality of users, the server 112 maydetermine a respective total income value of each user within theplurality of users. Let's suppose that the plurality of users comprisesthe user 102 and a second user (not depicted). In this case, the server112 may be further configured to rank the user 102 and the second userrelative to each other based on their respective total income values. Itshould be noted that if the user 102 is associated with a first incomevalue and the second user is associated with a second income value, theserver 112 will be configured to rank the user 102 and the second userrelative to each other based on the first income value and the secondincome value. As a result, the server 112 may rank users in theplurality of users based on their respectively associated discreteincome values being representative of the respective incomes of theusers in the plurality of users.

Furthermore, the server 112 may be configured to store a ranked list ofusers in the plurality of users in the server storage 114 for furtheruse thereof. In other embodiments, the server 112 may be configured tostore the ranked list of users in the plurality of users remotely on anystorage being in communication, directly or indirectly, with the server112.

Modifications and improvements to the above-described implementations ofthe present technology may become apparent to those skilled in the art.The foregoing description is intended to be exemplary rather thanlimiting. The scope of the present technology is therefore intended tobe limited solely by the scope of the appended claims.

What is claimed is:
 1. A method of determining an income of a user of amobile device, the method being executable at a server, the mobiledevice being communicatively coupled to the server, the methodcomprising: acquiring, by the server, device data associated with theuser of the mobile device, the device data comprising informationindicative of at least one occupation of the user; associating, by theserver, the user with a first occupational class amongst a plurality ofoccupational classes based on the information indicative of the at leastone occupation of the user, the first occupational class beingassociated with at least one event type and a first MLA; extracting, bythe server, a first dataset from the device data based on the firstoccupational class, the first dataset comprising data of a firstplurality of data types; applying, by the server, a first logicalanalysis of the first MLA to the first dataset, the first MLA havingbeen trained to apply the first logical analysis to data of the firstplurality of data types, the applying the first logical analysiscomprises: extracting, by the first MLA, from the first dataset a firstdata pattern being indicative of a first occupational event performed bythe user, the first data pattern being associated with one of the atleast one event types; and determining, by the first MLA, a first incomevalue associated with the first occupational event based on the firstdata pattern, the first income value being representative of the incomeof the user of the mobile device.
 2. The method of claim 1, wherein thefirst plurality of data types comprises GPS data and temporal data. 3.The method of claim 1, wherein the applying the first logical analysisfurther comprises: extracting, by the first MLA, from the first dataseta second data pattern being indicative of a second occupational eventperformed by the user, the second data pattern being associated with oneof the at least one event types; and determining, by the first MLA, asecond income value associated with the second occupational event basedon the second data pattern; and wherein the method further comprisesdetermining, by the server, a total income value based on the firstincome value and the second income value, the total income value beingrepresentative of the income of the user of the mobile device.
 4. Themethod of claim 3, wherein the at least one event types comprises morethan one event type, and wherein the first data pattern and the seconddata pattern are respectively associated with distinct event typesamongst the more than one event types.
 5. The method of claim 1, whereinthe associating comprises associating, by the server, the user with asecond occupational class amongst the plurality of occupational classesbased on the information indicative of the at least one occupation ofthe user, the second occupational class being associated with at leastone other event type and a second MLA; and wherein the method furthercomprises: extracting, by the server, a second dataset from the devicedata based on the second occupational class, the second datasetcomprising data of a second plurality of data types; applying, by theserver, a second logical analysis of the second MLA to the seconddataset, the second MLA having been trained to apply the second logicalanalysis to data of the second plurality of data types, the applying thesecond logical analysis comprises: extracting, by the second MLA, fromthe second dataset a second data pattern being indicative of a secondoccupational event performed by the user, the second data pattern beingassociated with one of the at least one other event types; anddetermining, by the second MLA, a second income value associated withthe second occupational event based on the second data pattern;determining, by the server, a total income value based on the firstincome value and the second income value, the total income value beingrepresentative of the income of the user of the mobile device.
 6. Themethod of claim 5, wherein the second plurality of data types comprisessound data and temporal data.
 7. The method of claim 5, wherein the atleast one event type and the at least one other event type are distinctevent types.
 8. The method of claim 1, wherein the first occupationalclass is one of: a taxi driver class; a delivery driver class; a painterclass; a construction worker class; and a waiter class.
 9. The method ofclaim 1, wherein the method further comprises: acquiring, by the server,a second device data associated with a second user of a second mobiledevice being communicatively coupled to the server, the second devicedata comprising information being indicative of at least one occupationof the second user; associating, by the server, the second user with asecond occupational class amongst the plurality of occupational classesbased on the information being indicative of the at least one occupationof the second user, the second occupational class being associated withat least one other event type and a second MLA; extracting, by theserver, a second dataset from the second device data based on the secondoccupational class, the second dataset comprising data of a secondplurality of data types; applying, by the server, a second logicalanalysis of the second MLA to the first dataset, the second MLA havingbeen trained to apply the second logical analysis to data of the secondplurality of data types, the applying the second logical analysiscomprises: extracting, by the second MLA, from the second dataset asecond data pattern being indicative of a second occupational eventperformed by the second user, the second data pattern being associatedwith one of the at least one other event types; and determining, by thesecond MLA, a second income value associated with the secondoccupational event based on the second data pattern, the second incomevalue being representative of an income of the second user of the secondmobile device; ranking, by the server, the user and the second userrelative to each other based on the first outcome value and the secondoutcome value.
 10. The method of claim 9, wherein the first occupationalclass and the second occupational class are a same occupational class.11. A server for determining an income of a user of a mobile device, themobile device being communicatively coupled to the server, the serverbeing configured to: acquire device data associated with the user of themobile device, the device data comprising information being indicativeof at least one occupation of the user; associate the user with a firstoccupational class amongst a plurality of occupational classes based onthe information being indicative of the at least one occupation of theuser, the first occupational class being associated with at least oneevent type and a first MLA; extract a first dataset from the device databased on the first occupational class, the first dataset comprising dataof a first plurality of data types; apply a first logical analysis ofthe first MLA to the first dataset, the first MLA having been trained toapply the first logical analysis to data of the first plurality of datatypes, to apply the first logical analysis comprises the server beingconfigured to: extract, by the first MLA, from the first dataset a firstdata pattern being indicative of a first occupational event performed bythe user, the first data pattern being associated with one of the atleast one event types; and determine, by the first MLA, a first incomevalue associated with the first occupational event based on the firstdata pattern, the first income value being representative of an incomeof the user of the mobile device.
 12. The server of claim 11, whereinthe first plurality of data types comprises GPS data and temporal data.13. The server of claim 11, to apply the first logical analysis furthercomprises the server being configured to: extract, by the first MLA,from the first dataset a second data pattern being indicative of asecond occupational event performed by the user, the second data patternbeing associated with one of the at least one event types; anddetermine, by the first MLA, a second income value associated with thesecond occupational event based on the second data pattern; and whereinthe server is further configured to determine a total income value basedon the first income value and the second income value, the total incomevalue being representative of the income of the user of the mobiledevice.
 14. The server of claim 13, wherein the at least one event typescomprises more than one event types, the first data pattern and thesecond data pattern are respectively associated with distinct eventtypes amongst the more than one event types.
 15. The server of claim 11,wherein to associate further comprises the server being configured toassociate the user with a second occupational class amongst theplurality of occupational classes based on the information beingindicative of the at least one occupation of the user, the secondoccupational class being associated with at least one other event typeand a second MLA; The server is further configured to: extract a seconddataset from the device data based on the second occupational class, thesecond dataset comprising data of a second plurality of data types;apply a second logical analysis of the second MLA to the second dataset,the second MLA having been trained to apply the second logical analysisto data of the second plurality of data types, to apply the secondlogical analysis comprises the server being configured to: extract, bythe second MLA, from the second dataset a second data pattern beingindicative of a second occupational event performed by the user, thesecond data pattern being associated with one of the at least one otherevent types; and determine, by the second MLA, a second income valueassociated with the second occupational event based on the second datapattern; determine a total income value based on the first income valueand the second income value, the total income value being representativeof the income of the user of the mobile device.
 16. The server of claim15, wherein the second plurality of data types comprises sound data andtemporal data.
 17. The server of claim 15, wherein the at least oneevent type and the at least one other event type are distinct eventtypes.
 18. The server of claim 11, wherein the first occupational classis one of: a taxi driver class; a delivery driver class; a painterclass; a construction worker class; and a waiter class.
 19. The serverof claim 11, the server being further configured to: acquire a seconddevice data associated with a second user of a second mobile devicebeing communicatively coupled to the server, the second device datacomprising information being indicative of at least one occupation ofthe second user; associate the second user with a second occupationalclass amongst the plurality of occupational classes based on theinformation being indicative of the at least one occupation of thesecond user, the second occupational class being associated with atleast one other event type and a second MLA; extract a second datasetfrom the second device data based on the second occupational class, thesecond dataset comprising data of a second plurality of data types;apply a second logical analysis of the second MLA to the first dataset,the second MLA having been trained to apply the second logical analysisto data of the second plurality of data types, to apply the secondlogical analysis comprises the server being configured to: extract, bythe second MLA, from the second dataset a second data pattern beingindicative of a second occupational event performed by the second user,the second data pattern being associated with one of the at least oneother event types; and determine, by the second MLA, a second incomevalue associated with the second occupational event based on the seconddata pattern, the second income value being representative of an incomeof the second user of the second mobile device; rank the user and thesecond user relative to each other based on the first outcome value andthe second outcome value.
 20. The server of claim 19, wherein the firstoccupational class and the second occupational class are a sameoccupational class.